首页
下载应用
提交文章
关于我们
问卷:你怎么看自由微信?
🔥 热搜 🔥
1
百度
2
今日热点
3
微信公众平台
4
贴吧
5
opgg
6
dnf私服
7
百度贴吧
8
知乎
9
dnf公益服
10
百度傻逼
分类
社会
娱乐
国际
人权
科技
经济
其它
首页
下载应用
提交文章
关于我们
问卷:你怎么看自由微信?
🔥
热搜
🔥
1
百度
2
今日热点
3
微信公众平台
4
贴吧
5
opgg
6
dnf私服
7
百度贴吧
8
知乎
9
dnf公益服
10
百度傻逼
分类
社会
娱乐
国际
人权
科技
经济
其它
一把短刀,怎么就让他连捅18人?!
向杨大市长道歉
向不容妄议的杨市长道歉
以色列搞大了:伊朗说要直接出兵参战
黄晓菁,这位杭州泰隆银行女员工自爆视频火了,带给我们那些思考?
生成图片,分享到微信朋友圈
2023年1月30日
2023年2月21日
2023年2月22日
2023年2月22日
2023年2月23日
2023年2月23日
2023年2月24日
2023年2月24日
2023年2月25日
2023年2月25日
2023年2月26日
2023年2月26日
2023年2月27日
2023年2月27日
2023年2月28日
查看原文
其他
【连载】比特币史话 | 时间之矢(2)
Original
刘教链
刘教链
2023-01-30
收录于合集 #史话
102个
(莱斯利·兰伯特,Paxos算法发明者。图片来源于网络)
本篇看点:
互联网分布式系统为什么无法去中心化,最主要的技术障碍是什么?
前情回顾:
【连载】比特币史话 | 哈希(3)
【连载】比特币史话 | 哈希(4)
【连载】比特币史话 | 时间之矢(1)
正文:
2012年,谷歌(Google)发表了一篇标题叫做《Spanner: 谷歌的全球分布式数据库》的论文[1],首次向世界公开了其早在2007年就已经开始研发的高性能分布式数据库Spanner[2]。2017年,Spanner正式成为谷歌云计算平台对外提供的托管式服务之一。据谷歌披露,Spanner的数据节点部署在遍布全球六个大洲、几十个机房的成千上万台服务器上,具有5个9的高可用性(即在99.999%的时间可用)[3]。对谷歌云Spanner的测试数据表明,14个节点的Spanner服务,性能便可达到约15万TPS(每秒事务数)、每秒钟135兆字节数据吞吐量、平均延迟仅1.2毫秒[4]。
[公众号:刘教链]
我们不知道谷歌全球部署的整个Spanner分布式集群的总性能会达到多少,但是我们可以看看另外一个使用了相似技术的系统的性能数据。2016年,国内最大的聊天应用“微信”披露了它的一个后台分布式存储系统的设计和运行情况。微信的这套分布式存储系统,使用了大概2000多台机器,单机内存64GB,机械硬盘存储,每天峰值请求高达每分钟10亿次(约合1500多万TPS)[5]。
[公众号:刘教链]
谷歌Spanner和微信存储,都使用了同样一个分布式共识算法(分布式一致性算法),叫做Paxos。Paxos算法是美国计算机科学家莱斯利·兰伯特(Leslie Lamport, 1941-)在1989年提出、1998年正式发表的杰作[6]。它在分布式系统设计中的地位是如此重要,以至于谷歌分布式锁服务Chubby的作者麦克·巴伦(Mike Burrows)评价说,“这个世界上只有一种一致性算法,那就是Paxos”[7]。关于Paxos算法的来龙去脉,我们暂且按下不表。
[公众号:刘教链]
使用了Paxos算法的谷歌Spanner系统,机器遍布全球,达到极高性能,但是,这套系统高度依赖一个因素——时间同步性。也就是说,这成千上万台机器的时钟的时间必须严丝合缝,分秒不差,否则整个系统就会有崩溃的危险。计算机的时钟总会出现时间漂移的现象,而依靠人工调整时间显然不现实。互联网常用的传统解决方案是采用中心化的时间服务,并通过NTP(网络时间协议)进行全网时钟同步。但是对于谷歌Spanner这样规模的分布式系统,这种网络同步的方法也已经不够用了,因为网络延迟难以预测,仍然难以保证各节点时间严格同步。事实上,谷歌采用的解决方案是更为尖端的技术,原子钟和卫星授时[8]。
[公众号:刘教链]
谷歌Spanner是分布式系统,但这套系统是由谷歌中心化控制的。中心化控制的一个重要原因是,系统的运行需要依赖于外部时钟的时间,而这个外部时钟,是由谷歌提供和控制的。当我们谈及所谓“去中心化”(decentralization)的时候,其实我们所意指的并非节点机器的分布式,而是整个系统不再由一个单一主体或多个一致行动主体进行控制。要把传统的分布式系统,改造为去中心化系统,就要消除中心控制点,其中最困难的问题之一,就是要消除对系统外时钟时间的依赖。
[公众号:刘教链]
这个比特币走向去中心化设计之路上的最大障碍,被中本聪巧妙地解决了。时至今日,比特币网络中可探明的全节点已遍布全球六个大洲、上百个国家、上万台机器,而且这些机器分别是由非常多互不相识、无统一指挥的人各自独立运行和维护的[9]。据统计,11年来,比特币网络的实际可用性高达99.985%[10],足以比肩世界顶级互联网服务商。
[公众号:刘教链]
【未完待续】(公众号:刘教链)
您可能也对以下帖子感兴趣
{{{title}}}
文章有问题?点此查看未经处理的缓存